package com.seashop.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.seashop.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.seashop.request.LoginRequestParam;
import com.seashop.request.MemberSearchParam;
import com.seashop.request.UpdateUserRequestParam;

/**
 * <p>
 * 前台用户表 服务类
 * </p>
 *
 * @author moredln
 * @since 2020-11-21
 */
public interface IUserService extends IService<User> {

    /**
     * 管理后台——会员条件查询列表
     *
     * @param param
     * @return
     */
    IPage<User> listUserPage(MemberSearchParam param);

    /**
     * 获取手机验证码
     *
     * @param mobile
     */
    int getVerificationCode(String mobile, String areaCode, String countryCode);

    /**
     * 用户注册
     *
     * @param param
     * @return
     */
    int register(LoginRequestParam param);

    /**
     * 更新token
     *
     * @param userid
     * @return
     */
    String updateToken(Integer userid);

    /**
     * 更改用户信息
     * @param user
     * @param param
     * @return
     */
    Integer updateUserInfo(User user, UpdateUserRequestParam param);
}
